package com.boatAnchorAssistant.service.service.in;

import nirvana.core.domains.vo.PageResult;
import com.boatAnchorAssistant.pojo.param.device.*;
import com.boatAnchorAssistant.pojo.vo.device.*;

import java.util.List;


/**
 * 【描 述】：设备服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface DeviceService {

    /**
     * 创建设备
     *
     * @param param
     */
    void createDevice(CreateDeviceParam param);

    /**
     * 修改设备
     *
     * @param param
     */
    void editDevice(EditDeviceParam param);

    /**
     * 移除设备
     *
     * @param id
     */
    void removeDevice(Long id);

    /**
     * 启动/禁用设备
     *
     * @param id
     */
    void enabledDevice(Long id);

    /**
     * 获取设备详情
     *
     * @param id
     * @return
     */
    GetDeviceVo getDevice(Long id);

    /**
     * 获取设备列表
     *
     * @param param
     * @return
     */
    PageResult<GetDeviceListVo> getDeviceList(GetDeviceListParam param);


    /**
     * 获取设备下拉列表
     *
     * @param param
     * @return
     */
    List<GetDeviceDownListVo> getDeviceDownList(GetDeviceDownListParam param);


}